cmake_minimum_required(VERSION 3.10)
set(CMAKE_CXX_STANDARD 17)
project(zenoblend LANGUAGES C CXX)

set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
if (NOT CMAKE_BUILD_TYPE)
    set(CMAKE_BUILD_TYPE Release)
endif()
if (CMAKE_COMPILER_IS_GNUCC)
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -w")
endif()
if (MSVC)
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /w")
endif()

set(OUTPUT_DIR ${PROJECT_SOURCE_DIR}/zenoblend/bin)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${OUTPUT_DIR})
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${OUTPUT_DIR})
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${OUTPUT_DIR})
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG ${OUTPUT_DIR})
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${OUTPUT_DIR})
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG ${OUTPUT_DIR})
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE ${OUTPUT_DIR})
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${OUTPUT_DIR})
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE ${OUTPUT_DIR})
if (WIN32)
    set(CMAKE_DEBUG_POSTFIX "")
endif()

set(ZENO_ENABLE_PYTHON OFF CACHE BOOL "For Embeding Usage")
set(ZENO_VISUALIZATION OFF CACHE BOOL "For Embeding Usage")
set(ZENO_GLOBALSTATE OFF CACHE BOOL "For Embeding Usage")
set(ZENO_FAULTHANDLER ON CACHE BOOL "For Embeding Usage")
set(ZENO_BENCHMARKING ON CACHE BOOL "For Embeding Usage")
set(ZENO_HIDE_SYMBOLS ON CACHE BOOL "For Embeding Usage")
add_subdirectory(external/zeno)

add_subdirectory(external/pybind11)
add_subdirectory(zenoblend)

